package bo;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.ClienteDAO;
import dao.UsuarioDAO;
import dao.interfaces.IClienteDAO;
import dao.interfaces.IUsuarioDAO;
import dto.ClienteDTO;
import dto.UsuarioDTO;

public class UsuarioBO{

	public UsuarioBO() {
		super();
	}

	public void conectarUsuario(HttpServletRequest request, HttpServletResponse response) throws Exception, IOException{
		String user = request.getParameter("user");
		String pass = request.getParameter("pass");
		IUsuarioDAO usuarioDao = new UsuarioDAO();
		UsuarioDTO usuarioDto = usuarioDao.compruebaUsuarioByName(user);
		if(usuarioDto.getNombreUsuario()!=null){			
			if(pass.compareTo(usuarioDto.getContrasena())==0){			
				IClienteDAO clienteDao = new ClienteDAO();
				ClienteDTO clienteDto = clienteDao.obtenerClienteById(usuarioDto.getPid());
				if(clienteDto.getPid()!=0)
					request.getSession().setAttribute("tipoUsuario", "cliente");
				request.getSession().setAttribute("usuario", usuarioDto);
			}else{
				request.setAttribute("error", "Contrase&ntilde;a incorrecta");
			}
		}else{
			request.setAttribute("error", "Nombre de usuario incorrecto");
		}
		request.getRequestDispatcher("").forward(request, response);
	}
	
	public void desconectarUsuario(HttpServletRequest request, HttpServletResponse response) throws Exception, IOException{
		request.getSession().removeAttribute("usuario");
		request.getSession().removeAttribute("tipoUsuario");
		request.getRequestDispatcher("").forward(request, response);
	}

}
